Complexitate

(Complexitate aplicaţiilor WEB) ©

Există:
- complexitatea metricii, care priveşte metrica WEB ca un întreg,
- complexitatea indicatorilor, în care fiecare indicator este analizat separat.
Să nu creadă nimeni că a vorbi despre complexitatea metricii WEB este vreo mare filosofie. Se ştie că şi programele au secvenţe de instrucţiuni formate din expresii aritmetice. Pentru acele secvenţe se calculează complexitatea HALSTEAD numărând operanţii şi operatorii care apar în secvenţa respectivă, rezultând complexitatea secvenţei. Exact acelaşi lucru se face şi în cazul complexităţii metricii, căci se înşită indicatorii în secvenţă, se numără operanzii şi operatorii ce definesc indicatorii şi se calculează complexitatea HALSTEAD. Deci s-a făcut doar o simplă translatare de idee de la complexitatea software spre complexitatea metricii WEB. Pentru complexitatea indicatorului se procedează exact ca la complexitatea expresiei aritmetice, căci orice indicator, cu voia sau fără voia noastră, este şi el o expresie aritmetică.
Mulţi dintre indicatori sunt daţi sub forma de rapoarte. Dacă se consideră metrica WEB formată din 4 indicatori:
IND1=A/B

IND2=C/D
IND3=F/(B+G)
IND4=(H-A)/(D+B)
Lista de operanzi diferiţi este formată din =, /, +, -, (), iar lista de operatori diferiţi este formată din IND1, IND2, IND3, IND4, A, B, C, D, F, H, fiecare din elementele celor două liste având un număr de apariţii care se determină cu exactitate în cele patru expresii aritmetice.
Complexitatea HALSTEAD pentru metrică CM, dată de formula:
CM=NOP*log 2 NOP + OPR*log 2 OPR
Unde:
NOP - număr operanzi
OPR - număr operatori.
Pentru metrica WEB propusă NOP =15 şi OPR =14 ceea ce duce la complexitatea CM
CM=15*log 2 15 + 14*log 2 14
CM=15*3,91 +14*3.81
CM=111,99
Complexitatea cumulată CC = (NOP+OPR)* log 2 (NOP+OPR)
Pentru exemplul dat este CC=29* log 2 29 = 140,94 iar complexitatea relativă CR dată de formula:
CR=( NOP*log 2 NOP + OPR*log 2 OPR)/( (NOP+OPR)* log 2 (NOP+OPR))
Este CR=0,79
Pentru calculul uni indicator, să zicem IND4=(H-A)/(D+B) numărul de operanzi este NOP=5 şi numărul de operatori este OPR=6 căci se numără şi perechile de paranteze ca un singr operator, iar complexitatea indicatorului este
C(IND4)= 5*log 2 5 + 6*log 2 6 =
C(IND4)= 5*11,60+6*15,18=26,78
Complecitatea relativă a indicatorului
CR(IND4)=26.78/38,06 = 0,75
Este rezonabil ca persoanele care construiesc metrici să le rafineze pentru a ajunge la niveluri de complexitate rezonabile, ştiut fiind faptul că niciodată un indicator foarte sofisticat nu dă certitudinea asupra reprezentativităţii rezultatelor, iar numărul de zecimale nu încurajează pe nimeni în a fundamenta decizii de corectarea calităţii unei aplicaţii WEB.
10 octombrie 2019



                                                                                                                                                                                                    Înapoi